Computer systems are currently in wide use. Some computer systems are relatively large, and may include, for instance, thousands of different user interface and data entities, like tables, forms, and other artifacts. Such computer systems are often customized (some heavily customized) before they are deployed in a given implementation. For example, computer systems can be developed on various development tools. Many software developers use interactive (or integrated) development environments (IDEs) in order to develop software. The developers use an IDE in order to develop models of types within a computer system, and in order to customize those models.
By way of example, some computer systems include enterprise resource planning (ERP) systems, customer relations management (CRM) systems, line-of-business (LOB) systems, among others. These types of computer systems often include many thousands of different types that are modeled and customized. For instance, some such systems often have thousands of different forms, alone, not to mention many other types. Such systems also commonly include a great deal of logic, as well as workflows, and data entities (such as tables) that allow users to access the system and perform a set of activities, or tasks, in order to carry out their duties within a particular organization for which they are working.
These systems are not the only types of computing systems that have a large number of types. For instance, gaming systems, or a wide variety of other types of systems, often also have many thousands of different types that are modeled in the computing system.
The various types that are modeled in the computing system are compiled (or assembled) into assemblies that are run during runtime. The modeled types can represent data or workflow. For instance, the computing system may store information as a collection of entities, where each entity represents an item associated with an organization. A customer entity, for example, may represent a customer. A sales order entity, for instance, may represent a sales order. A sales quote entity may represent a sales quote. These are illustrative examples only.
When such a computing system is deployed in a specific organization, it is common for the computing system to be highly customized in order to meet the functional requirements of the particular organization in which it is deployed. By way of example, different organizations may wish to have different fields on a given form that represents a customer entity. In addition, for example, different organizations may wish to have different logic for computing a currency conversion on an expense report form. Thus, it can be seen that a given computing system may be heavily customized so that it meets the requirements of a given organization that is using it.
The discussion above is merely provided for general background information and is not intended to be used as an aid in determining the scope of the claimed subject matter.